home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Hot Mix 17
/
Hot Mix 17.iso
/
HM17_SGI
/
research
/
lib
/
dl_unix.pro
< prev
next >
Wrap
Text File
|
1997-07-08
|
3KB
|
97 lines
; $Id: dl_unix.pro,v 1.2 1997/01/15 03:11:50 ali Exp $
;
; Copyright (c) 1988-1997, Research Systems, Inc. All rights reserved.
; Unauthorized reproduction prohibited.
;
pro dl_unix, name, print=printflg, directory = direct, multi = multi
;+NODOCUMENT
; NAME:
; DL_UNIX
;
; PURPOSE:
; Extract the documentation template of one or more IDL modules
; (procedures or functions).
;
; CATEGORY:
; Help, documentation.
;
; CALLING SEQUENCE:
; DL_UNIX ;For prompting.
; DL_UNIX, Name ;Extract documentation for procedure Name using
; the current !PATH.
;
; INPUTS:
; Name: The string containing the name of the procedure or "*" for all.
;
; KEYWORDS:
; PRINT: If set, this keyword sends output of DL_UNIX to lpr. If
; PRINT is a string, it is interpreted as a shell
; command used for output with the documentation from
; DL_UNIX providing standard input
; (i.e., PRINT="cat > junk").
;
; DIRECTORY: The directory to search. If omitted, the current directory
; and !PATH are used.
;
; MULTI: If set, this flag allows printing of more than one file if the
; requested module exists in more than one directory in the path
; and the current directory.
;
; OUTPUTS:
; No explicit outputs. Documentation is piped through "more" unless
; /PRINT is specified.
;
; COMMON BLOCKS:
; None.
;
; SIDE EFFECTS:
; Output is produced on terminal or printer.
;
; RESTRICTIONS:
; None.
;
; PROCEDURE:
; Straightforward.
;
; MODIFICATION HISTORY:
; DMS, Feb, 1988.
; AB, 21 September 1992, renamed from DOC_LIB_UNIX to DL_UNIX to
; avoid DOS filename limitations.
;-
on_error,2 ;Return to caller if an error occurs
if n_elements(name) eq 0 then begin ;Interactive query?
name = ''
printflg = 0
read,'Name of procedure or * for all: ',name
read,'Enter 1 for printer, 0 for terminal: ',printflg
endif
name = strlowcase(name) ;make it always lower case
if n_elements(direct) eq 0 then path = ".:" + !path $ ;Directories to search
else path = direct
if n_elements(printflg) eq 0 then output = " more " $
else if strtrim(printflg,2) eq '1' then output = " lpr " $
else if strtrim(printflg,2) eq '0' then output = " more " $
else output = "'"+printflg+"' "
if n_elements(multi) le 0 then multi = 0 ;Only print once
if strpos(name,"*") ge 0 then begin ;Wild card?
multi = 1 ;allow printing of multiple files
endif
cmd = !dir + "/bin/doc_library "+output+strtrim(multi,2)+' ' ;Initial cmd
while strlen(path) gt 0 do begin ; Find it
i = strpos(path,":")
if i lt 0 then i = strlen(path)
file = strmid(path,0,i)+ "/" + name + ".pro"
; print,"File: ",file
path = strmid(path,i+1,strlen(path))
cmd = cmd + ' ' + file
endwhile
;print,cmd
spawn,cmd
end